home *** CD-ROM | disk | FTP | other *** search
- ID:MT Multitasking in DESQview
- Quarterdeck Technical Note #152
- by Stan Young
-
- One of the features of DESQview is the ability to provide for the
- multi-tasking or background processing of a program. This feature
- allows the user to start an operation which will not require user
- intervention and then switch to another task while the operation
- continues in background.
-
- While multi-tasking is certainly a useful feature, it is important
- to note that DESQview cannot provide multi-tasking all by itself.
- A program's ability to multi-task in DESQview is dependent on the
- setup of the program, the hardware being used, and in some cases
- the way the program has been written.
-
- What is absolutely required:
-
- SETUP - First, in order to multi-task a program must be set up so
- that it is allowed to multi-task. Under the default setup for a
- program added to the DESQview menu by choosing the "Other"
- selection from the Add A Program menu, DESQview assumes several
- things that prevent multi-tasking.
-
- * DESQview assumes the program "Writes directly to the screen."
- * DESQview assumes that if the program writes directly to screen
- and the machine is not a 386 with QEMM, it does not "Run in
- background."
-
- Given that DESQview assumes that the program runs only in
- foreground, under the defaults, the program will not run in
- background even if otherwise capable of doing so. Therefore it
- is necessary to modify the default setup using "Change a Program"
- to see if the program can run in background. The first thing to
- determine is whether the program actually "Writes directly to
- screen" (see below). If it does not, and you set the "Writes
- directly to screen" option to "N", DESQview will allow the
- program to run in the background.
-
- MEMORY - Second, in order to multi-task a program must be able
- to remain in active, addressable RAM. Multi-tasking is an
- internal function of DESQview, and DESQview does not REQUIRE any
- add-on in order to multi-task. HOWEVER, 640K can certainly be a
- limited environment if you are trying to multi-task large
- programs. If you are planning to multi-task large programs, you
- may need to purchase additional memory.
-
- The only types of memory which currently can be used for multi-
- tasking beyond 640K are EEMS memory, EMS 4.0 memory ON A FULLY
- FUNCTIONAL EMS 4.0 BOARD (an EMS 4.0 driver on old-style EMS 3.2
- board will not suffice) or exTENDed memory on a 386 machine with
- QEMM, CEMM or compatible 386 expanded memory driver.
-
- If your machine's memory configuration is such that the program
- must be swapped out to disk, ramdisk, or EMS or EEMS memory, then
- the processing of that program will be interrupted. You will
- know this has happened if you get a "Swapping..." message when
- switching from the program. If this is happening and you have
- configured your programs to minimum memory sizes, the only thing
- that can allow you to achieve multi-tasking is to increase the
- number or size of the addressable memory partitions available to
- DESQview. As indicated before, this may require additional
- hardware.
-
- More information on this subject can be found in the DESQview
- manual under the appendix, "Using Expanded Memory with DESQview".
-
- What is usually desired:
-
- SCREEN MANAGEMENT - Another item that is usually necessary for
- effective background processing, although not absolutely
- required, is for DESQview to be able to provide screen
- management.
-
- A program which actually "Writes directly to screen" cannot have
- its screen output managed by DESQview. Therefore, if it is
- running in the background and updates the screen, what it writes
- will print through on the screen of the foreground application.
-
- Testing to see if the program writes directly to screen:
-
- All graphics based programs write directly to screen; however if
- your program runs in character mode, you should try setting it up
- in a window that has the "Writes directly to screen" option set
- to "N". Then invoke the program, allowing it to come up in a
- small DESQview window. If the program loads into the window
- without writing outside the window frame, the program does not
- write directly to screen and should operate properly in the
- background. If the program does print outside the window frame,
- the program does write directly to screen and you will have to
- evaluate for yourself whether running it in the background would
- upset your foreground operation too much.
-
- On a 386 machine, Quarterdeck's QEMM 386 driver provides
- virtualization of the screen in text, CGA, EGA, Hercules
- Monographics, and VGA graphics mode so that programs using those
- modes can run with their screens managed by DESQview regardless
- of whether they write directly to screen or not. If the programs
- switch modes in background (for instance, switch from text to
- graphics), you must explicitly set the "Runs in background"
- option to "Y".
-
- Keyboard and mouse handling:
-
- Programs running in background should be well behaved with regard
- to their use of the keyboard. If they are not, running them in
- the background may cause problems with using the keyboard in the
- foreground window. In some cases, setting "Keyboard Conflict" to
- 4 using Change a Program can alleviate this problem.
-
- DESQview versions prior to 2.2 do not currently support the
- background operation of a program that is using the mouse unless
- that program is DESQview aware. Running a program that uses the
- mouse in background will cause the mouse to be lost for DESQview
- or other programs. As of version 2.2, DESQview "virtualizes" the
- mouse so that non-DESQview aware programs "see" the mouse only
- when in foreground.
-
- Copyright (C) 1991 by Quarterdeck Office Systems
- * * * E N D O F F I L E * * *